Hard disks are organized as a stack of platters. Data is stored in concentric circles, known as tracks, on the surface of each platter. Each track is divided into a number of sections called sectors. A sector is the smallest physical storage unit on a disk. There are conventionally 64 sectors in a track and a sector will typically hold about 512 bytes of data.
Electromagnetic read/write drive heads are positioned above and below each platter on the hard disk drive. The platters are spun to position the drive heads over a sector to be read from or written to. The drive heads can also move along a path from the innermost track to the outermost track of each platter, enabling a drive head to reach any sector on the surface of a platter. When reads or writes are made to a disk, they are usually done in parallel and across multiple heads, platters or even drives. The positioning of the heads is often described with relation to a cylinder, head and sector (CHS) notation. However, disk drives, in fact, now have more complicated organization, which varies from drive to drive and manufacturer to manufacturer.
The exterior cylinders on each platter have physically larger tracks. Some manufacturers have increased the number of sectors in the outer cylinders relative to those in inner cylinders. This increases the capacity and eliminates wasted space on the hard disk. One common technique used for organizing hard disks is zoned bit recording (ZBR). With this technique, tracks are grouped into zones based on their distance from the center of the disk and each zone is assigned a number of sectors per track. In addition, some hard disks export a logical sector size of 512 bytes, but implement a 4 KB internal block size. This makes it difficult for a user to determine the internal layout of the hard disk. Thus, current hard disks use many complex internal structures making it difficult if not impossible for a user to know the real organization of a hard disk because the number of sectors per track is variable. Also, many hard disks are organized as part of an array, such as a redundant array of inexpensive disks (RAID). When using a RAID configuration, data is read in stripes, which is a unit corresponding to the amount of data that is read across all of the disk drives in a RAID concurrently.
When data is read from a hard disk drive or a set of hard disk drives, the operation is most efficient if it is read in a single read operation or a minimal number of read operations. This is affected by the alignment of the hard drives and the RAID. Alignment is the selection of a starting sector for making reads or writes. Often, many hard disks have a set of hidden sectors and a setting indicates that read/write operations should start in a sector immediately after these hidden sectors. The hidden sectors are sectors that store partition tables or similar data structures and are generally made inaccessible. The structure and placement of partitions on a hard drive are defined by partition tables. Each partition is a subset of the storage space on the hard drive. The partition table defines the starting sector associated with each partition in which read/write operations should start. Typically, the first partition starts at sector 63. However, depending on the size of partitions and the structure of the hard drives, file allocation units, blocks and stripes may not be aligned with the starting sector for reads and writes. Instead, data is stored across these boundaries when it is possible that they could have been stored within the boundaries of the file allocation units, blocks and stripes. Extra reads and writes are required to access this data thereby diminishing the efficiency of this system.